package org.comple.erp.pojo.finance;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModelProperty;
import org.comple.erp.pojo.sales.SalesSlip;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
* 
* @TableName receipt
*/
public class Receipt implements Serializable {

    /**
    * 
    */
    @NotNull(message="[]不能为空")
    @ApiModelProperty("")
    private String receipt_id;
    /**
    * 
    */
    @ApiModelProperty("")
    private String customer_id;
    /**
    * 
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("")
    @Length(max= 50,message="编码长度不能超过50")
    private String receipt_code;
    /**
    * 
    */
    @ApiModelProperty("")
    private BigDecimal amount;
    /**
    * 
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("")
    @Length(max= 50,message="编码长度不能超过50")
    private String receipt_method;
    /**
    * 
    */
    @ApiModelProperty("")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date receipt_date;
    /**
    * 
    */
    @ApiModelProperty("")
    private Integer status;
    /**
    * 
    */
    @ApiModelProperty("")
    private String account_id;
    /**
    * 
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("")
    @Length(max= 50,message="编码长度不能超过50")
    private String company_code;
    private BigDecimal current_written_off_all_amount; // 本次核销金额

    private List<ReceiptAccount> receiptAccountList;

    private List<ReceiptDetails> receiptDetailsList;
    private String auditor;
    private Date audit_date;
    private int isdel;
    private String type;
    private BigDecimal written_off_amount;

    private List<Account> accountList;
    private List<SalesSlip> salesSlipList;
    private BigDecimal order_discount;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public BigDecimal getOrder_discount() {
        return order_discount;
    }

    public void setOrder_discount(BigDecimal order_discount) {
        this.order_discount = order_discount;
    }

    public BigDecimal getCurrent_written_off_all_amount() {
        return current_written_off_all_amount;
    }

    public void setCurrent_written_off_all_amount(BigDecimal current_written_off_all_amount) {
        this.current_written_off_all_amount = current_written_off_all_amount;
    }

    public BigDecimal getWritten_off_amount() {
        return written_off_amount;
    }

    public void setWritten_off_amount(BigDecimal written_off_amount) {
        this.written_off_amount = written_off_amount;
    }

    public List<ReceiptAccount> getReceiptAccountList() {
        return receiptAccountList;
    }

    public void setReceiptAccountList(List<ReceiptAccount> receiptAccountList) {
        this.receiptAccountList = receiptAccountList;
    }

    public List<ReceiptDetails> getReceiptDetailsList() {
        return receiptDetailsList;
    }

    public void setReceiptDetailsList(List<ReceiptDetails> receiptDetailsList) {
        this.receiptDetailsList = receiptDetailsList;
    }

    public List<Account> getAccountList() {
        return accountList;
    }

    public void setAccountList(List<Account> accountList) {
        this.accountList = accountList;
    }

    public int getIsdel() {
        return isdel;
    }

    public void setIsdel(int isdel) {
        this.isdel = isdel;
    }

    public String getReceipt_id() {
        return receipt_id;
    }

    public void setReceipt_id(String receipt_id) {
        this.receipt_id = receipt_id;
    }

    public String getCustomer_id() {
        return customer_id;
    }

    public void setCustomer_id(String customer_id) {
        this.customer_id = customer_id;
    }

    public String getReceipt_code() {
        return receipt_code;
    }

    public void setReceipt_code(String receipt_code) {
        this.receipt_code = receipt_code;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getReceipt_method() {
        return receipt_method;
    }

    public void setReceipt_method(String receipt_method) {
        this.receipt_method = receipt_method;
    }

    public Date getReceipt_date() {
        return receipt_date;
    }

    public void setReceipt_date(Date receipt_date) {
        this.receipt_date = receipt_date;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getAccount_id() {
        return account_id;
    }

    public void setAccount_id(String account_id) {
        this.account_id = account_id;
    }

    public String getAuditor() {
        return auditor;
    }

    public void setAuditor(String auditor) {
        this.auditor = auditor;
    }

    public Date getAudit_date() {
        return audit_date;
    }

    public void setAudit_date(Date audit_date) {
        this.audit_date = audit_date;
    }

    public String getCompany_code() {
        return company_code;
    }

    public void setCompany_code(String company_code) {
        this.company_code = company_code;
    }

    public List<SalesSlip> getSalesSlipList() {
        return salesSlipList;
    }

    public void setSalesSlipList(List<SalesSlip> salesSlipList) {
        this.salesSlipList = salesSlipList;
    }

}
